package com.example.shuiyin.dto;

import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.Data;

@Data
public class WatermarkRemoveRequest {
    
    @NotBlank(message = "图片ID不能为空")
    private String imageId;
    
    @NotNull(message = "水印区域X坐标不能为空")
    @Min(value = 0, message = "X坐标不能小于0")
    private Integer x;
    
    @NotNull(message = "水印区域Y坐标不能为空")
    @Min(value = 0, message = "Y坐标不能小于0")
    private Integer y;
    
    @NotNull(message = "水印区域宽度不能为空")
    @Min(value = 1, message = "宽度必须大于0")
    private Integer width;
    
    @NotNull(message = "水印区域高度不能为空")
    @Min(value = 1, message = "高度必须大于0")
    private Integer height;
    
    @Pattern(regexp = "^(inpaint|blur|pixelate)$", message = "移除方法只能是inpaint、blur或pixelate")
    private String method = "inpaint"; // inpaint/blur/pixelate
} 